/**
* @file acl_rt_impl_base.h
*
* Copyright (c) Huawei Technologies Co., Ltd. 2025. All Rights reserved.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/

#ifndef ASCEND_RUNTIME_ACL_RT_IMPL_BASE_H_
#define ASCEND_RUNTIME_ACL_RT_IMPL_BASE_H_

#include <mutex>
#include <string>
#include "acl/acl_base.h"

namespace acl {
ACL_FUNC_VISIBILITY bool GetAclInitFlag();
ACL_FUNC_VISIBILITY uint64_t &GetAclInitRefCount();
ACL_FUNC_VISIBILITY std::recursive_mutex &GetAclInitMutex();
ACL_FUNC_VISIBILITY std::string &GetConfigPathStr();
ACL_FUNC_VISIBILITY void SetConfigPathStr(std::string &configStr);
ACL_FUNC_VISIBILITY aclError GetStrFromConfigPath(const char *configPath, std::string &configStr);
}

#endif  //ASCEND_RUNTIME_ACL_RT_IMPL_BASE_H_
